# http://www.meitulu.cn/item/4622.html

import requests
import re

import os

# 创建文件夹
def mkdir(path):
    # 引入模块
    # 去除首位空格
    path = path.strip()
    # 去除尾部 \ 符号
    path = path.rstrip("\\")
    # 判断路径是否存在
    # 存在     True
    # 不存在   False
    isExists = os.path.exists(path)
    # 判断结果
    if not isExists:
        # 如果不存在则创建目录
        # 创建目录操作函数
        os.makedirs(path)
        print(path + ' 创建成功')
        return True
    else:
        # 如果目录存在则不创建，并提示目录已存在
        print(path + ' 目录已存在')
        return False


# 美图录大概范围是3100-9300
# number = random.randint(3100, 9300)

for i in range(4600, 5000):
    try:
        number = i
        # 首先选定一个目标3100-9300的一个妹子   获取第一页
        res = requests.get("http://www.meitulu.cn/item/{0}.html".format(number))

        # 这个是获取到的页面源码
        code = res.content.decode()

        # 查这个妹子有多少张照片所使用正则
        page_pattern = r'<p>图片数量： ([0-9]+)张</p>'

        # 妹子有多少张照片
        page_number = eval(re.findall(page_pattern, code)[0])

        # 从页面中找到当前页面的图片url    注意   获取到第一页里边是2  第二页里边是3
        img_pattern = r'<center><a href="/item/{}_2.html" ><img src="(.*?)"'.format(number)

        # 当前页的url
        url = re.findall(img_pattern, code)[0]

        header = {
            "Referer": "http://www.meitulu.cn/item/8630.html",
        }

        # 创建文件夹放妹子
        mkdir("第{0}个妹子".format(i))

        # 这个请求需要请求头
        resp = requests.get(url, headers=header).content
        with open("第{0}个妹子/1.jpg".format(i), "wb") as f:
            f.write(resp)

        # 开始拿图片
        for j in range(3, page_number):
            res = requests.get("http://www.meitulu.cn/item/{0}_{1}.html".format(number, j))
            code = res.content.decode()
            img_pattern = r'<center><a href="/item/{0}_{1}.html" ><img src="(.*?)"'.format(number, j + 1)
            url = re.findall(img_pattern, code)[0]
            print(url)
            header = {
                "Referer": "http://www.meitulu.cn/item/8630.html",
            }
            resp = requests.get(url, headers=header).content
            with open("第{0}个妹子/{1}.jpg".format(i, j), "wb") as f:
                f.write(resp)
    except:
        print("第{0}个妹子有问题".format(i))

